package cn.t.dto.order;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import lombok.Data;
import org.springframework.util.ObjectUtils;

/**
 * @author l
 */
@Data
public class ExcelBatchOnShelfDTO {
    /**
     * sku
     */
    @ExcelProperty(value = {"SKU号(必填)"})
    private String skuCode;
    /**
     * 货道编号
     */
    @ExcelProperty(value = "货道编号(必填)")
    @NumberFormat("#")
    private String cargowayNoStr;
    /**
     * 库存预警值
     */
    @ExcelProperty(value = "库存预警值(非必填，不填不更新)")
    @NumberFormat("#.##")
    private Integer alarmLimit;
    /**
     * 系统库存
     */
    @ExcelProperty(value="系统库存(非必填，不填不更新)")
    @NumberFormat("#.##")
    private Integer inventory;
    /**
     * 商品重量
     */
    @ExcelProperty(value="商品重量(非必填，不填不更新)")
    @NumberFormat("#.##")
    private Double weight;
    /**
     * 货道容量
     */
    @ExcelProperty(value="货道容量(非必填，不填不更新)")
    @NumberFormat("#")
    private String cargowayVolStr;
    /**
     * 是否上架
     */
    @ExcelProperty(value = "是否上架（1：上架；0下架）默认1")
    @NumberFormat("#")
    private String isEditStr;

    private String errLog;
    private Integer cargowayNo;
    private Integer cargowayVol;
    private Integer isEdit;

    public String getSkuCode() {
        if (!ObjectUtils.isEmpty(skuCode)){
            skuCode = skuCode.trim();
        }
        return skuCode;
    }

    public String  checkParam(){
        StringBuilder sb=new StringBuilder();
        if(ObjectUtils.isEmpty(this.skuCode)){
            sb.append("sku不能为空");
        }
        if(ObjectUtils.isEmpty(cargowayNoStr)){
            sb.append("货道编号不能为空");
        }else {
                cargowayNo =  Integer.parseInt(cargowayNoStr.trim());
        }
        if(ObjectUtils.isEmpty(this.isEditStr)){
            this.isEditStr = "1";
        }
        if(!ObjectUtils.isEmpty(this.cargowayVolStr)){
                cargowayVol=  Integer.parseInt(cargowayVolStr);
        }
        if(!ObjectUtils.isEmpty(this.isEditStr)){
            isEdit=  Integer.parseInt(isEditStr);
        }
        return sb.toString();
    }
}
